﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TRPOP.Common;

using TRPOP.CRM.Component.Model;
using TRPOP.CRM.Component.Business;

namespace TRPOP.CRM.Component.Common
{
    /// <summary>
    /// 所有页面需要继承的基本类
    /// </summary>
    public class BasePage : System.Web.UI.Page
    {
        #region 警告框 Alert
        /// <summary>
        /// 弹出景高层
        /// </summary>
        /// <param name="strmessage"></param>
        public void AlertDialog(string strmessage)
        {
            PageHelper.ExecuteJs(this.Page, "ShowError(\"" + strmessage + "\");");
        }

        /// <summary>
        /// 警告框
        /// </summary>
        /// <param name="mess"></param>
        public void Alert(string mess)
        {
            PageHelper.Alert(this.Page, mess);
        }

        /// <summary>
        /// 警告框,然后2秒后自动转向
        /// </summary>
        /// <param name="mess"></param>
        /// <param name="url"></param>
        public void Alert(string mess, string url)
        {
            //PageHelper.Alert(this.Page, mess, url);
            PageHelper.ExecuteJs(this.Page, string.Format("ShowError('{0}页面2秒后将自动跳转。');setTimeout(function(){{window.location.href='{1}';}},2000);", mess, url));
        }
        #endregion

        #region  弹出窗口操作方法
        /// <summary>
        /// 弹出窗口时刷新父页面
        /// </summary>
        public void ParentReset()
        {
            Response.Write("<script>parent.reset();</script>");
            Response.End();
        }
        /// <summary>
        /// 弹出窗口时，关闭弹出页
        /// </summary>
        public void ParentClose()
        {
            Response.Write("<script>parent.close_dialog();</script>");
            Response.End();
        }
        /// <summary>
        /// 执行一段JS代码
        /// </summary>
        /// <param name="js"></param>
        public void ExecuteJs(string js)
        {
            PageHelper.ExecuteJs(this.Page, js);
        }
        /// <summary>
        /// 执行一段JS代码
        /// </summary>
        /// <param name="js"></param>
        public void ExecuteJsWidthEnd(string js)
        {
            Response.Write("<script>" + js + "</script>");
            Response.End();
        }

        #endregion

        #region 自定义  Redirect  End   Transfer
        /// <summary>
        /// 页面跳转
        /// </summary>
        /// <param name="strURL"></param>
        public void Redirect(string strURL)
        {
            Response.Redirect(strURL, false);
            /*
             * 为了避免出现以下异常:
             * 在 System.Threading.ThreadAbortException 中第一次偶然出现的“mscorlib.dll”类型的异常
             *“System.Threading.ThreadAbortException”类型的异常在 mscorlib.dll 中发生，但未在用户代码中进行处理
            */
        }
        /// <summary>
        /// 当前页面停止输出
        /// </summary>
        public void End()
        {
            Response.End();
        }
        /// <summary>
        /// 页面执行
        /// </summary>
        /// <param name="strURL"></param>
        public void Transfer(string strURL)
        {
            Server.Execute(strURL);
            /*
             * 为了避免出现以下异常:
             * 在 System.Threading.ThreadAbortException 中第一次偶然出现的“mscorlib.dll”类型的异常
             *“System.Threading.ThreadAbortException”类型的异常在 mscorlib.dll 中发生，但未在用户代码中进行处理
            */
        }
        #endregion
    }
}
